package com.ljb.utilslibary_master.utils;


import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.util.List;

/**
 * Json转化工具类
 * Created by lijianbin on 2017/3/29.
 */

public class JsonKit {
    private JsonKit() {
    }

    /**
     * 对象转json串
     *
     * @param o
     * @return
     */
    public static String toJson(Object o) {
        String json = null;
        if (o != null) {
            json = new Gson().toJson(o);
        }
        return json;
    }

    /**
     * json串转对象
     *
     * @param jsonString
     * @param clazz
     * @return
     */
    public static <T> T toObj(String jsonString, Class<T> clazz) {
        if (jsonString == null || jsonString.trim().length() == 0)
            throw new IllegalArgumentException("需求解析的字符串不能为空");
        return new Gson().fromJson(jsonString, clazz);
    }

    /**
     * json串转list集合
     *
     * @param jsonString
     * @param <T>
     * @return
     */
    public static <T> List toList(String jsonString,Class<T> calzz) {
        Gson gson = new Gson();
        List<T> list = gson.fromJson(jsonString, new TypeToken<List<T>>() {
        }.getType());
        return list;
    }
}
